package vip.xiaonuo.smzq.core.tools.file;

import java.io.*;
import java.util.UUID;

public class FileRename {
    /**
     *文件重命名
     * @param sourceFilePath // 源文件路径
     * @param targetFilePath  // 目标文件路径（新名称）
     * @return
     */
    public static String fileRename(String sourceFilePath,String targetFilePath){
        File sourceFile = new File(sourceFilePath);
        File targetFile = new File(targetFilePath);
        String filePath="";
        try {
            // 如果目标文件已存在，先删除（或备份）以避免重命名失败
            if (targetFile.exists()) {
                boolean deleted = targetFile.delete();
                if (!deleted) {
                    System.err.println("无法删除已存在的目标文件，重命名操作取消");
                }
            }

            // 尝试重命名文件
            boolean renameSuccessful = sourceFile.renameTo(targetFile);

            if (renameSuccessful) {
                System.out.println("文件重命名成功");
            } else {
                System.err.println("文件重命名失败");
            }
        } catch (Exception e) {
            System.err.println(e);
            e.printStackTrace();
        }
        return filePath;
    }
    /**
     *文件复制
     * @param sourcePath // 源文件路径
     * @param destinationPath  // 目标文件路径（新名称）
     * @return
     */
    public static void copyFileUsingStreams(String sourcePath, String destinationPath) throws IOException {
        InputStream in = null;
        OutputStream out = null;

        try {
            in = new FileInputStream(sourcePath);
            out = new FileOutputStream(destinationPath);

            byte[] buffer = new byte[1024];
            int length;

            while ((length = in.read(buffer)) > 0) {
                out.write(buffer, 0, length);
            }
        } catch (IOException e) {
            throw e; // 或者在这里处理异常
        } finally {
            // 关闭流
            if (in != null) {
                in.close();
            }
            if (out != null) {
                out.close();
            }
        }
    }





    public static void main(String[] args) {
        String uuid = UUID.randomUUID().toString();
        System.out.println(uuid);







    }


}
